在實務上,我們會使用計算機概論裡面提到的有限狀態機( Finite State Machine )來實作「一個口令,一個動作」類型的聊天機器人。它就是狀態之間的跳轉,符合某個輸入條件之後會進入到某個狀態去。比方說起初的狀態是「開始」,符合某個條件之後進入「狀態 1 」,又符合某個輸入條件之後會進入到「狀態 2 」,最後又符合某個輸入條件的話就跳到「成功」。中間過程如果有遭遇任何例外的話,就會跑去「失敗」。所以整個有限狀態機大概長得像這樣。
舉 ATM 提款機當作例子。一開始的時候,我跑去 ATM 提款機的前面,按下螢幕上的「提款」按鈕,接著它會請我「輸入密碼」,密碼輸入正確之後,輸入提款金額,正確無誤的話, ATM 就會「吐鈔票」給我。但是在過程中,可能按了提款之後我又按了取消,或是輸入的密碼有誤,這樣就會跑去「退出卡片」的例外狀況。所以整個有限狀態機大概長得像這樣。
※ 本文內容同步刊載於下列部落格 ※
https://medium.com/@jarsing
https://makeachatbot.today
https://chibupapa.com/category/biz/chatbot/